package com.zdkj.subway.st.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.zdkj.common.core.exceltools.HeaderToColumn;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

@Data
@ApiModel(value = "车票周计划")
@EqualsAndHashCode(callSuper = true)
@TableName("sw_tk_public_plan_week")
public class SwStPlanWeek extends Model<SwStPlanWeek> {
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "唯一标识")
    @ExcelIgnore
    private Long id;

    @ApiModelProperty(value = "月计划id")
    @ExcelIgnore
    private Long planMonthId;

    @ExcelIgnore
    private Boolean display;

    @ApiModelProperty(value = "周期")
    @HeaderToColumn(header = "周期", index = 3)
    @ExcelIgnore
    private String workCycle;

    @ApiModelProperty(value = "作业时间(年)")
    @ExcelProperty(value = "作业时间(年)", index = 0)
    private String workTime;

    @ApiModelProperty(value = "月份")
    @HeaderToColumn(header = "月份", index = 1)
    @ExcelProperty(value = "月份", index = 1)
    private String planMonth;

    @ApiModelProperty(value = "周")
    @HeaderToColumn(header = "周", index = 1)
    @ExcelProperty(value = "周", index = 2)
    private String planWeek;

    @ApiModelProperty(value = "已分解周")
    @ExcelProperty(value = "已分解周", index = 3)
    private String decomposeWeek;

    @ApiModelProperty(value = "计划类型")
    @HeaderToColumn(header = "计划类型", index = 2)
    @ExcelProperty(value = "计划类型", index = 4)
    private String planType;

    @ApiModelProperty(value = "票种")
    @HeaderToColumn(header = "票种", index = 3)
    @ExcelProperty(value = "票种", index = 5)
    private String ticketType;

    @ApiModelProperty(value = "原计划数量")
    @HeaderToColumn(header = "原计划数量",index = 4)
    @ExcelProperty(value = "原计划数量", index = 6)
    private Integer planNumberOld;

    @ApiModelProperty(value = "现计划数量")
    @HeaderToColumn(header = "现计划数量",index = 5)
    @ExcelProperty(value = "现计划数量", index = 7)
    private Integer planNumberNow;

    @ApiModelProperty(value = "张数")
    @ExcelProperty(value = "张数", index = 8)
    private Integer ticketNumber;

    @ApiModelProperty(value = "已分解数量")
    @HeaderToColumn(header = "已分解数量",index = 6)
    @ExcelProperty(value = "已分解数量", index = 9)
    private Integer decomposeNumber;

    @ApiModelProperty(value = "计划完成时间")
    @HeaderToColumn(header = "计划完成时间", index = 4)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelIgnore
    private LocalDateTime planFinishTime;

    @ApiModelProperty(value = "审批建议")
    @ExcelIgnore
    private String checkSuggest;

    @ApiModelProperty(value = "审批建议")
    @ExcelIgnore
    private String checkSubmit;

    @ApiModelProperty(value = "审核状态")
    @HeaderToColumn(header = "审核状态", index = 6)
    @ExcelProperty(value = "审核状态", index = 10)
    private String checkStatus;

    @ApiModelProperty(value = "审核人")
    @ExcelProperty(value = "审核人", index = 11)
    private Integer checkPersonId;

    @ApiModelProperty(value = "审核时间")
    @ExcelProperty(value = "审核时间", index = 12)
    private LocalDateTime checkTime;

    @ApiModelProperty(value = "创建人ID")
    @ExcelIgnore
    private Long creatorId;

    @ApiModelProperty(value = "创建时间")
    @ExcelProperty(value = "创建时间", index = 13)
    private LocalDateTime createTime;

    @ApiModelProperty(value = "创建人名称")
    @ExcelProperty(value = "创建人名称", index = 14)
    private String creatorName;

    @ApiModelProperty(value = "备注")
    @ExcelProperty(value = "备注", index = 15)
    private String remark;

    @ApiModelProperty(value = "是否已分解")
    @ExcelIgnore
    private String isDecompose;

    @ApiModelProperty(value = "工作地点")
    @ExcelIgnore
    private Integer workPlace;

    @ApiModelProperty(value = "运营商")
    @ExcelIgnore
    private String operator;

    @ApiModelProperty(value = "是否编辑过状态")
    @ExcelIgnore
    private String whetherStatus;

    @ApiModelProperty(value="回执单号路径")
    @ExcelIgnore
    private String receiptFilePath;


    @ApiModelProperty(value="单号")
    @ExcelIgnore
    private String numbers;
}
